// pages/geren/chengyuan/chengyuan.js

const app = getApp()

var api = require('../../../js/api.js');

let usersIndex = 0;

Page({

    /**
     * 页面的初始数据
     */
    data: {
        users: [],
        indicatorDots: false,

        logo: '',
        actionSheetHidden: true,
        actionSheetItems: [
            {bindtap: 'Menu1', txt: '检测记录'},
            {bindtap: 'Menu2', txt: '修改资料'},
            {bindtap: 'Menu3', txt: '删除成员'}
        ],

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        var that = this
        that.setData({
            logo: app.globalData.logo
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        var that = this
        this.setData({
            users: app.globalData.users,

        })
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },
    //手指触摸动作开始 记录起点X坐标
    touchstart: function (e) {
        //开始触摸时 重置所有删除
        this.data.users.forEach(function (v, i) {
            if (v.isTouchMove) //只操作为true的
                v.isTouchMove = false;
        })

        this.setData({
            startX: e.changedTouches[0].clientX,
            startY: e.changedTouches[0].clientY,
            users: this.data.users
        })

    },

    //滑动事件处理
    touchmove: function (e) {

        var that = this,
            index = e.currentTarget.dataset.index, //当前索引
            startX = that.data.startX, //开始X坐标
            startY = that.data.startY, //开始Y坐标

            touchMoveX = e.changedTouches[0].clientX, //滑动变化坐标
            touchMoveY = e.changedTouches[0].clientY, //滑动变化坐标

            //获取滑动角度
            angle = that.angle({
                X: startX,
                Y: startY
            }, {
                X: touchMoveX,
                Y: touchMoveY
            });
        if (index == 0) {
            return
        }
        that.data.users.forEach(function (v, i) {
            v.isTouchMove = false

            //滑动超过30度角 return
            if (Math.abs(angle) > 30) {
                app.log('==角度>30')
                return
            }
            if (i == index) {
                if (touchMoveX > startX) { //右滑
                    v.isTouchMove = false
                } else { //左滑
                    v.isTouchMove = true
                }


            }
        })

        //更新数据
        that.setData({
            users: that.data.users
        })
    },

    /**
     * 计算滑动角度
     * @param {Object} start 起点坐标
     * @param {Object} end 终点坐标
     */
    angle: function (start, end) {
        var _X = end.X - start.X,
            _Y = end.Y - start.Y
        //返回角度 /Math.atan()返回数字的反正切值
        return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
    },

    //删除事件
    del: function (e) {


        var that = this
        wx.showModal({
            title: '提示',
            content: '确定要删除吗？',
            success: function (sm) {
                if (sm.confirm) {
                    // 用户点击了确定 可以调用删除方法了
                    // that.data.users.splice(e.currentTarget.dataset.index, 1)
                    let index = e.currentTarget.dataset.index
                    let userId = e.currentTarget.dataset.id
                    app.log(index)
                    app.log(userId)
                    if (index > 0 && userId > 0) {
                        api.delFriend(userId).then(res => {
                            api.findAllInfos().then(res => {
                              app.globalData.users = res.data.data
                              that.setData({
                                users: app.globalData.users
                              })

                            })
                        })
                    }
                } else if (sm.cancel) {
                    app.log('用户点击取消')
                }
            }
        })


    },

    bianji: function (e) {
        app.log(e)
        let userInfoId = e.currentTarget.dataset.id
        usersIndex = e.currentTarget.dataset.index
        app.log(userInfoId)
        app.log(usersIndex)
        this.setData({
            actionSheetHidden: !this.data.actionSheetHidden
        })
        wx.navigateTo({
            url: '/pages/geren/chengyuan/bianji/bianji?usersIndex=' + usersIndex + '&userInfoId=' + userInfoId,

        })
    },
    xinzeng: function () {
        wx.navigateTo({
            url: '/pages/geren/chengyuan/bianji/bianji?usersIndex=' + -1+ '&userInfoId=' + -1,

        })
    },
    //底部菜单
    actionSheetbindchange: function () {
        this.setData({
            actionSheetHidden: !this.data.actionSheetHidden
        })
    },
    bindMenu1: function () {
        this.setData({
            actionSheetHidden: !this.data.actionSheetHidden
        })
        app.globalData.usersIndex = usersIndex
        wx.switchTab({
            url: '/pages/jilu/jilu'
        })
    },
    bindMenu2: function () {
        this.setData({
            actionSheetHidden: !this.data.actionSheetHidden
        })
        wx.navigateTo({
            url: '/pages/geren/chengyuan/bianji/bianji?index=' + usersIndex
        })
    },
    bindMenu3: function (e) {
        this.setData({
            actionSheetHidden: !this.data.actionSheetHidden
        })
        if (usersIndex == 0) {
            app.log('禁止删除')
            wx.showModal({
                title: '提示',
                content: '禁止删除此用户',
                success: function (sm) {
                    if (sm.confirm) {

                    } else if (sm.cancel) {
                        app.log('用户点击取消')
                    }
                }
            })
        } else {
            var that = this
            wx.showModal({
                title: '提示',
                content: '确定要删除吗？',
                success: function (sm) {
                    if (sm.confirm) {
                        // 用户点击了确定 可以调用删除方法了
                        that.data.users.splice(e.currentTarget.dataset.index, 1)
                        api.delWxInfo(app.globalData.users[usersIndex].wxInfoId, function (res) {
                            app.log('====>>删除成功')
                            app.log(res)
                            api.findAllWxInfo(function (res) {

                                that.setData({
                                    users: app.globalData.users
                                })

                            })

                        })

                    } else if (sm.cancel) {
                        app.log('用户点击取消')
                    }
                }
            })
        }
    }
})